The present invention relates to OFDM-based digital receivers and single-carrier digital receivers. This includes digital television and radio receivers, digital modems, wireless networks, powerline networks and other wideband digital communication systems.
Digital data transmission systems transfer blocks of digital data via wireless, wired (electrical), and optical media. A transmitter modulates signals with data from the digital data blocks and transfers the signals through the media. A receiver receives the modulated signals from the media and demodulates them to reconstruct the digital data blocks.
Modern modulation systems, such as orthogonal frequency-division multiplexing (OFDM), offer a high spectral efficiency, i.e. a highly efficient use of bandwidth that is available in the medium. However, to achieve this efficiency the medium must meet tight requirements.
In practice, the media may introduce changes to the modulated signals, such as dispersion, echos, frequency-dependent attenuation and delay, distortion, and the addition of noise and interference from various sources. Some or all of these changes may be time-dependent. As a result, demodulation may be compromised, resulting in bit errors or the inability to reconstruct the original bitstream. To combat these problems, digital receivers often include an equalizer function, which compensates the received modulated signals for estimated imperfections of the channel transfer characteristics, usually called the “channel transfer function”. Channel estimates may include time and frequency-dependent changes in amplitude and phase.
In a single-carrier digital data transmission system, a sinusoid wave signal called the “carrier” is modulated with the digital data. To support estimating the channel transfer function, some of the time a reference signal called a “pilot” may be transmitted. In a stationary channel it would be sufficient to transmit a pilot only once, for instance prior to transmitting the data. In a quasi-stationary channel, pilots need to be transmitted regularly, possibly interrupting the data. Non-stationary channels, such as in mobile wireless applications, require pilots to be transmitted often. If data is packaged into “symbols”, each symbol may contain both data and one or more pilots.
OFDM may utilize a large number of very closely orthogonally spaced carriers (called “subcarriers”) that each are modulated with a part of the digital data to be transferred between the transmitter and receiver. For orthogonality, typically the subcarriers are equidistant and carry equal amounts of information, resulting in a very rectangular frequency spectrum. The use of many subcarriers means that each subcarrier need only carry a small fraction of the digital data and as a result, each subcarrier is modulated with low-bandwidth data. The resulting long transmission time protects the signal against short-duration interferences, such as noise spikes caused by lightning. However, the close subcarrier spacing makes the system very sensitive to frequency errors, such as offsets, frequency-dependent delays (phase errors) and attenuation, and fixed-frequency interference.
OFDM distributes blocks of digital data over the subcarriers and transmits those as OFDM symbols. For the duration of a first symbol, each subcarrier transmits its low-bandwidth part of a first data block, and for the duration of the next symbol each subcarrier transmits its low-bandwidth part of the next data block. To protect against interference from echos of prior symbols (e.g. due to multipath reception), each symbol is preceded by a guard interval containing a cyclical extension of the symbol itself. Typically, the guard interval is short compared to the symbol, but long enough to cover the worst expected echos. When operating optimally, the receiver does not demodulate data received during the guard interval.
However, the guard interval does not solve all problems caused by multipath reception. One effect of receiving a signal with one or more echos is that the echos will boost the signals for some frequencies and attenuate them for other frequencies. As a result, some subcarriers may be received stronger than other subcarriers, and also with different phase. Like other receivers, OFDM receivers compensate for this by constantly estimating the channel transfer function and equalizing the received signal based on the estimated channel transfer function.
The OFDM system facilitates channel estimation by including pilot carriers with known coding in each symbol. Pilots may have a fixed location, or their location may vary, in which case they are called “scattered pilots”. For instance, the Integrated Services Digital Broadcasting Terrestrial (ISDB-T) system has scattered pilots every thirteenth carrier. In a first symbol the scattered pilots begin on the first carrier; in a second symbol the scattered pilots begin on the fourth carrier; in a third symbol the scattered pilots begin on the seventh carrier; in a fourth symbol the scattered pilots begin on the tenth carrier; in a fifth symbol the scattered pilots again begin on the first carrier, and so on. Pilots may be boosted versus the data carriers to increase the accuracy of channel estimators, which will be less sensitive to noise. Some OFDM systems, including ISDB-T, pseudo-randomly switch the phase of pilot carriers between zero and 180 degrees to help increase the channel estimators' phase accuracy.
FIG. 1 illustrates channel estimation in an OFDM system. The figure shows an amplitude-versus-frequency plot 100 of pilot subcarriers (drawn with solid vertical lines) received over the course of four symbols. Some of the pilots are received during reception of a first symbol. Others are received in the second, third, and fourth symbols, respectively. If the channel transfer function can be assumed quasi-stationary during the time of transmission of the four respective symbols, the channel transfer function for the data carriers can be estimated by a relatively straightforward interpolation. For reception in fast-moving mobile systems the quasi-stationary assumption may not hold, and more sophisticated 3D interpolation may be required. FIG. 1 shows the channel transfer function estimates for data carriers drawn with dotted lines.
Many interpolation systems are used in the art. Conventionally, solutions often use Lagrange interpolation or low-pass filtering. Lagrange interpolation requires continuous recalculation of many coefficients, which is a high computational burden. Low-pass filtering has the advantage of fixed coefficients, but there are very many—still giving a high computational burden.
Two methods are often used for channel estimation: “minimum mean-square error” (MMSE) and “least-squares” (LS), see for instance Jan-Jaap van de Beek et al., “On Channel Estimation in OFDM Systems”, IEEE Proceedings of Vehicular Technology Conference (VTC '95), vol. 2, pp. 815-819 (September 1995). The MMSE method is very accurate, but complex. The LS method, sometimes referred to as Zero-Forcing Estimation, has lower complexity and is somewhat less accurate.
Even the LS channel estimation method traditionally includes a complex division, which is usually implemented in hardware. Standard division blocks are fast, but expensive, resulting in high receiver cost.
FIG. 2 illustrates a conventional channel equalizer 200, operating in the frequency domain. Input 290 of symbol buffer 210 receives one or more symbols, the symbols typically including both pilots and data. Based on the pilots, or whatever other information can be learned from the buffered symbols, channel estimator 220 provides a channel estimation. The channel estimation is typically one complex number per carrier, i.e. for a single-carrier system it would be a single real and imaginary number pair, and for an OFDM system with, say, 8,192 carriers it would be 8,192 such pairs. Block 230 converts the complex numbers to polar coordinates in a rectangular-to-polar conversion, yielding amplitude-phase pairs. Phase adjust block 240 adjusts data carriers from the symbol buffer for their phase, and amplitude adjust block 250 adjusts the phase-adjusted carriers for their amplitude. Hence, the equalizer output signal 295 has been frequency-adjusted for both its phase and amplitude, or in other words, has been equalized. In a mathematically linear system, the order of phase adjustment 240 and amplitude adjustment 250 is irrelevant; the blocks may be swapped, and an equalizer may adjust the amplitude first and the phase last.
A few prior solutions have realized that channel equalization may benefit from the use of the Coordinate Rotation Digital Computer (CORDIC) algorithm, first proposed by Jack E. Volder, “The CORDIC Trigonometric Computing Technique”, IRE Transactions on Electronic Computing, pp. 330-334, IRE/IEEE (1959). CORDIC is an algorithm especially suitable for implementation in or execution on digital hardware, using successive cycles to compute a result with increasing accuracy, based on the digitally inexpensive operations of adding, subtracting, and multiplying by factors of two (i.e., bit-shifting). A CORDIC block can operate in two different modes to compute various types of result. One mode is called vectoring mode, often used for rectangular-to-polar conversion. The other mode is called rotation mode, often used for calculating the sine and cosine of an angle, and for polar-to-rectangular conversion.
One such prior solution is described in U.S. Pat. No. 7,423,960, “Orthogonal Frequency Division Multiplexing (OFDM) Equalizer”, by Kuei-Ann Wen (2008). In accordance with the architecture illustrated in FIG. 2, Wen uses CORDICs (after having performed channel estimation) for rectangular-to-polar conversion as well as for phase rotation. Her approach yields considerable cost savings, but a simpler approach could save even more.
Moisès Serra et al. similarly describe in “Implementation of a Channel Equalizer for OFDM Wireless LANs” (Proceedings of the 15th IEEE International Workshop on Rapid System Prototyping, 2004) using a CORDIC for the rectangular-to-polar conversion. They then obtain inverse coefficients with an inverter using the “Hung” algorithm. They use a second CORDIC for phase tracking, and a third one for equalization. Although their design is less complex than some conventional designs, it is still relatively complex. Their architecture limits use to the frame structure typical for HIPERLAN symbols. The Hung algorithm needed for inversion is a Taylor series approximation, resulting in a large 16% relative error even with 10-bit data precision.